package com.tcoiss.app.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.tcoiss.common.core.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @author 朱圣煌
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("bd_admindivision")
public class GdAdminDivision implements Serializable {

    private static final long serialVersionUID=1L;

    /** ID */
    @TableId(value = "id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 编码 */
    private String number;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 上级行政区划 */
    @Excel(name = "上级区划编码")
    private String parent;

    /** 行政次级 */
    @Excel(name = "行政次级")
    private Long administrativeLevelsId;

    /** 英文全称 */
    private String fullspell;

    /** 英文简称 */
    private String simpleSpell;

    /** 描述 */
    private String description;

    /** 电话区号 */
    private String cityNo;

    /** 参考码 */
    private String areaCode;

    /** 是否城市 */
    private String isCity;

    /** 长名称 */
    @Excel(name = "长名称")
    private String fullName;

    /** 数据状态 */
    private String status;

    /** 使用状态 */
    private String enable;

    /** 创建日期 */
    @Excel(name = "创建日期" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField(exist = false)
    private Map<String, Object> params = new HashMap<>();
}
